PHP环境 XML外部实体注入漏洞(XXE)
环境介绍:
- PHP 7.0.30
- libxml 2.8.0
libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。
漏洞复现
环境启动后,访问http://192.168.44.132:8080/index.php
即可看到phpinfo,搜索libxml即可看到其版本为2.8.0。
Web目录为./www
,其中包含4个文件:
1 | $ tree . |
dom.php
、SimpleXMLElement.php
、simplexml_load_string.php
均可触发XXE漏洞,具体输出点请阅读这三个文件的代码。
简单的 XXE 有效载荷:
1 | <?xml version="1.0" encoding="utf-8"?> |
输出: